﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;

namespace Financeiro.Dados
{
    public class LogDAO
    {
        private static string connectionString = ConfigurationManager.ConnectionStrings["ERP_FinanceiroConnectionString"].ConnectionString;

        public static void novoLog(int idAdmin, int idMensagem, int nivel)
        {
            try
            {
                SqlConnection Conn = new SqlConnection(connectionString);
                SqlCommand cmd = new SqlCommand(@"INSERT INTO Log (id_login, prioridade, descricao, Data) VALUES (@idAdmin, @nivel, @idMensagem, GETDATE())", Conn);

                cmd.Parameters.Add("@idAdmin", SqlDbType.Int);
                cmd.Parameters["@idAdmin"].Value = idAdmin;

                cmd.Parameters.Add("@nivel", SqlDbType.Int);
                cmd.Parameters["@nivel"].Value = nivel;

                cmd.Parameters.Add("@idMensagem", SqlDbType.Int);
                cmd.Parameters["@idMensagem"].Value = idMensagem;

                Conn.Open();
                cmd.ExecuteNonQuery();
                Conn.Dispose();


            }
            catch (Exception ex)
            {
                throw new Exception("Ocorreu um erro no método novoLog: " + ex.Message);
            }
        }

        public static DataTable buscarLog()
        {
            try
            {
                // faz um select no banco de todos os pagamentos feitos para o mes e ano pedidos

                SqlConnection Conn = new SqlConnection(connectionString);
                Conn.Open();
                SqlCommand cmd = new SqlCommand(@"SELECT C.Login, B.Descricao, A.prioridade, A.Data 
                                                FROM Log as A
                                                JOIN DescricaoLog AS B ON B.id = A.descricao
                                                JOIN Login AS C ON C.id = A.id_login", Conn);

                SqlDataAdapter da = new SqlDataAdapter(cmd);

                DataSet ds = new DataSet();
                da.Fill(ds, "Log");

                Conn.Close();

                DataTable dt = ds.Tables["Log"];

                return dt;
            }



            catch (Exception ex)
            {
                throw new Exception("Ocorreu um erro no método buscarLog: " + ex.Message);
            }

        }




    }
}
